import axios from "axios";
import type { Method,AxiosRequestConfig } from "axios";
const serivce = axios.create({
  baseURL: "http://localhost:7001", // server 的 aggjs的域名，
  timeout: 50000,
});
// 处理响应拦截器
serivce.interceptors.response.use((response) => response.data);

// axios 中的ts认为 data 是有的，但是响应拦截器实际是去掉了

// 再次对请求方法进行封装
type Data<T> = {
  code: number;
  message: string;
  data: T;
};
const request = <T>(url: string, method: Method, submitData: Object, config?: AxiosRequestConfig) => {
  console.log("submitData",submitData);
  // ts 里面可以传泛型 传入一个类型进去
  return serivce.request<T, Data<T>>({
    url,
    method,
    [method.toLowerCase() === "get" ? "params" : "data"]: submitData,
    ...config
  });
};
export default request
